package deviceinfo.wsm.com.deviceinfo.upload.request;

import java.util.List;

/**
 * Created by 王家宝 on 2018/7/31.
 * TEL:18241150668
 * MAIL:639586819@qq.com
 */

public class CusRequestBody {

    /**
     * phoneNo : 1234567890
     * deviceId : 设备id
     * smartId : 智能id
     * originType : ios
     * dataType : equipment
     * data : {"cpuInfo":{"cpuArchitecture":"cpu类型","cpuProcessorNum":"处理器个数"},"diskInfo":{"diskTotalSpace":"磁盘总量","diskFreeSpace":"磁盘空闲量","diskUsedSpace":"磁盘已使用"},"memoryInfo":{"memoryTotal":"内存总数","memoryUsed":"内存使用"},"systemInfo":{"systemUpTime":"累积运行时间","deviceType":"设备类型","deviceName":"设备名称","deviceModel":"设备型号","os":"系统名称","osVersion":"系统版本","isEmulate":"是否是模拟器","resolution":"分辨率","screenW":"屏幕宽度","screenH":"屏幕高度","screenBrightness":"屏幕亮度","isJailBreak":"是否越狱","carrierAllowVoip":"是否支持网络电话","isOpenGPS":"是否打开 GPS","gatherDate":"设备信息采集时间"},"appinfo":{"appName":"App 名称","appVersion":"App 版本","appPackageName":"App Bundle Id"},"networkInfo":{"isConnWifi":"是否连接 wifi","isConnCell":"是否连接数据网络","internetType":"网络类型","cellIp":"ip地址","carrierOperator":"运营商名称","carrierMobileCountryCode":"移动国家码","carrierMobileNetworkCode":"移动网络码"},"partsInfo":{"headphonesAttached":"是否插入耳机","hasBluetooth":"是否支持蓝牙","hasWiFi":"是否有 WIFI 模块","hasCellular":"是否支持移动网络"},"batteryInfo":{"batteryLevel":"电池电量","isCharging":"是否正在充电","batteryCapacity":"电池容量"},"zoneInfo":{"country":"国家","language":"语言","timezone":"时区"},"roganInfo":{"gyroSersorInfo":"陀螺仪传感器 ","timestamp":"采样时间戳","x":"x轴","y":"y轴","z":"z轴","accelerometerSersorInfo":"加速度传感器","magnetometerSersorInfo":"磁场传感器 ","deviceMotionSersorInfo":"设备运动传感器 "},"isAgency":"是否有代理","gps":"经度纬度","addressBookList":[{"nickname":"朋友","telNo":"139xxxx"},{"nickname":"老板","telNo":"139xxxx"}]}
     * uploadTime : 上传时间戳
     * tokenKey : 97d7b579-9173-11e8-9a60-000c291fbd11
     * sign : 签名
     */

    private int phoneNo;
    private String deviceId;
    private String smartId;
    private String originType;
    private String dataType;
    private DataBean data;
    private String uploadTime;
    private String sign;

    public int getPhoneNo() {
        return phoneNo;
    }

    public void setPhoneNo(int phoneNo) {
        this.phoneNo = phoneNo;
    }

    public String getDeviceId() {
        return deviceId;
    }

    public void setDeviceId(String deviceId) {
        this.deviceId = deviceId;
    }

    public String getSmartId() {
        return smartId;
    }

    public void setSmartId(String smartId) {
        this.smartId = smartId;
    }

    public String getOriginType() {
        return originType;
    }

    public void setOriginType(String originType) {
        this.originType = originType;
    }

    public String getDataType() {
        return dataType;
    }

    public void setDataType(String dataType) {
        this.dataType = dataType;
    }

    public DataBean getData() {
        return data;
    }

    public void setData(DataBean data) {
        this.data = data;
    }

    public String getUploadTime() {
        return uploadTime;
    }

    public void setUploadTime(String uploadTime) {
        this.uploadTime = uploadTime;
    }

    public String getSign() {
        return sign;
    }

    public void setSign(String sign) {
        this.sign = sign;
    }

    public static class DataBean {
        /**
         * cpuInfo : {"cpuArchitecture":"cpu类型","cpuProcessorNum":"处理器个数"}
         * diskInfo : {"diskTotalSpace":"磁盘总量","diskFreeSpace":"磁盘空闲量","diskUsedSpace":"磁盘已使用"}
         * memoryInfo : {"memoryTotal":"内存总数","memoryUsed":"内存使用"}
         * systemInfo : {"systemUpTime":"累积运行时间","deviceType":"设备类型","deviceName":"设备名称","deviceModel":"设备型号","os":"系统名称","osVersion":"系统版本","isEmulate":"是否是模拟器","resolution":"分辨率","screenW":"屏幕宽度","screenH":"屏幕高度","screenBrightness":"屏幕亮度","isJailBreak":"是否越狱","carrierAllowVoip":"是否支持网络电话","isOpenGPS":"是否打开 GPS","gatherDate":"设备信息采集时间"}
         * appinfo : {"appName":"App 名称","appVersion":"App 版本","appPackageName":"App Bundle Id"}
         * networkInfo : {"isConnWifi":"是否连接 wifi","isConnCell":"是否连接数据网络","internetType":"网络类型","cellIp":"ip地址","carrierOperator":"运营商名称","carrierMobileCountryCode":"移动国家码","carrierMobileNetworkCode":"移动网络码"}
         * partsInfo : {"headphonesAttached":"是否插入耳机","hasBluetooth":"是否支持蓝牙","hasWiFi":"是否有 WIFI 模块","hasCellular":"是否支持移动网络"}
         * batteryInfo : {"batteryLevel":"电池电量","isCharging":"是否正在充电","batteryCapacity":"电池容量"}
         * zoneInfo : {"country":"国家","language":"语言","timezone":"时区"}
         * roganInfo : {"gyroSersorInfo":"陀螺仪传感器 ","timestamp":"采样时间戳","x":"x轴","y":"y轴","z":"z轴","accelerometerSersorInfo":"加速度传感器","magnetometerSersorInfo":"磁场传感器 ","deviceMotionSersorInfo":"设备运动传感器 "}
         * isAgency : 是否有代理
         * gps : 经度纬度
         * addressBookList : [{"nickname":"朋友","telNo":"139xxxx"},{"nickname":"老板","telNo":"139xxxx"}]
         */

        private CpuInfoBean cpuInfo;
        private DiskInfoBean diskInfo;
        private MemoryInfoBean memoryInfo;
        private SystemInfoBean systemInfo;
        private AppinfoBean appinfo;
        private NetworkInfoBean networkInfo;
        private PartsInfoBean partsInfo;
        private BatteryInfoBean batteryInfo;
        private ZoneInfoBean zoneInfo;
        private RoganInfoBean roganInfo;
        private String isAgency;
        private String gps;
        private List<AddressBookListBean> addressBookList;
        private String installedPackage;

        public String getInstalledPackage() {
            return installedPackage;
        }

        public void setInstalledPackage(String installedPackage) {
            this.installedPackage = installedPackage;
        }

        public CpuInfoBean getCpuInfo() {
            return cpuInfo;
        }

        public void setCpuInfo(CpuInfoBean cpuInfo) {
            this.cpuInfo = cpuInfo;
        }

        public DiskInfoBean getDiskInfo() {
            return diskInfo;
        }

        public void setDiskInfo(DiskInfoBean diskInfo) {
            this.diskInfo = diskInfo;
        }

        public MemoryInfoBean getMemoryInfo() {
            return memoryInfo;
        }

        public void setMemoryInfo(MemoryInfoBean memoryInfo) {
            this.memoryInfo = memoryInfo;
        }

        public SystemInfoBean getSystemInfo() {
            return systemInfo;
        }

        public void setSystemInfo(SystemInfoBean systemInfo) {
            this.systemInfo = systemInfo;
        }

        public AppinfoBean getAppinfo() {
            return appinfo;
        }

        public void setAppinfo(AppinfoBean appinfo) {
            this.appinfo = appinfo;
        }

        public NetworkInfoBean getNetworkInfo() {
            return networkInfo;
        }

        public void setNetworkInfo(NetworkInfoBean networkInfo) {
            this.networkInfo = networkInfo;
        }

        public PartsInfoBean getPartsInfo() {
            return partsInfo;
        }

        public void setPartsInfo(PartsInfoBean partsInfo) {
            this.partsInfo = partsInfo;
        }

        public BatteryInfoBean getBatteryInfo() {
            return batteryInfo;
        }

        public void setBatteryInfo(BatteryInfoBean batteryInfo) {
            this.batteryInfo = batteryInfo;
        }

        public ZoneInfoBean getZoneInfo() {
            return zoneInfo;
        }

        public void setZoneInfo(ZoneInfoBean zoneInfo) {
            this.zoneInfo = zoneInfo;
        }

        public RoganInfoBean getRoganInfo() {
            return roganInfo;
        }

        public void setRoganInfo(RoganInfoBean roganInfo) {
            this.roganInfo = roganInfo;
        }

        public String getIsAgency() {
            return isAgency;
        }

        public void setIsAgency(String isAgency) {
            this.isAgency = isAgency;
        }

        public String getGps() {
            return gps;
        }

        public void setGps(String gps) {
            this.gps = gps;
        }

        public List<AddressBookListBean> getAddressBookList() {
            return addressBookList;
        }

        public void setAddressBookList(List<AddressBookListBean> addressBookList) {
            this.addressBookList = addressBookList;
        }

        public static class CpuInfoBean {
            /**
             * cpuArchitecture : cpu类型
             * cpuProcessorNum : 处理器个数
             */

            private String cpuArchitecture;
            private String cpuProcessorNum;
            private String cpuSerial;

            public String getCpuSerial() {
                return cpuSerial;
            }

            public void setCpuSerial(String cpuSerial) {
                this.cpuSerial = cpuSerial;
            }

            public String getCpuArchitecture() {
                return cpuArchitecture;
            }

            public void setCpuArchitecture(String cpuArchitecture) {
                this.cpuArchitecture = cpuArchitecture;
            }

            public String getCpuProcessorNum() {
                return cpuProcessorNum;
            }

            public void setCpuProcessorNum(String cpuProcessorNum) {
                this.cpuProcessorNum = cpuProcessorNum;
            }
        }

        public static class DiskInfoBean {
            /**
             * diskTotalSpace : 磁盘总量
             * diskFreeSpace : 磁盘空闲量
             * diskUsedSpace : 磁盘已使用
             */

            private String diskTotalSpace;
            private String diskFreeSpace;
            private String diskUsedSpace;

            public String getDiskTotalSpace() {
                return diskTotalSpace;
            }

            public void setDiskTotalSpace(String diskTotalSpace) {
                this.diskTotalSpace = diskTotalSpace;
            }

            public String getDiskFreeSpace() {
                return diskFreeSpace;
            }

            public void setDiskFreeSpace(String diskFreeSpace) {
                this.diskFreeSpace = diskFreeSpace;
            }

            public String getDiskUsedSpace() {
                return diskUsedSpace;
            }

            public void setDiskUsedSpace(String diskUsedSpace) {
                this.diskUsedSpace = diskUsedSpace;
            }
        }

        public static class MemoryInfoBean {
            /**
             * memoryTotal : 内存总数
             * memoryUsed : 内存使用
             */

            private String memoryTotal;
            private String memoryUsed;

            public String getMemoryTotal() {
                return memoryTotal;
            }

            public void setMemoryTotal(String memoryTotal) {
                this.memoryTotal = memoryTotal;
            }

            public String getMemoryUsed() {
                return memoryUsed;
            }

            public void setMemoryUsed(String memoryUsed) {
                this.memoryUsed = memoryUsed;
            }
        }

        public static class SystemInfoBean {
            /**
             * systemUpTime : 累积运行时间
             * deviceType : 设备类型
             * deviceName : 设备名称
             * deviceModel : 设备型号
             * os : 系统名称
             * osVersion : 系统版本
             * isEmulate : 是否是模拟器
             * resolution : 分辨率
             * screenW : 屏幕宽度
             * screenH : 屏幕高度
             * screenBrightness : 屏幕亮度
             * isJailBreak : 是否越狱
             * carrierAllowVoip : 是否支持网络电话
             * isOpenGPS : 是否打开 GPS
             * gatherDate : 设备信息采集时间
             */

            private String systemUpTime;
            private String deviceType;
            private String deviceName;
            private String deviceModel;
            private String os;
            private String osVersion;
            private String isEmulate;
            private String resolution;
            private String screenW;
            private String screenH;
            private String screenBrightness;
            private String isJailBreak;
            private String carrierAllowVoip;
            private String isOpenGPS;
            private String gatherDate;

            public String getSystemUpTime() {
                return systemUpTime;
            }

            public void setSystemUpTime(String systemUpTime) {
                this.systemUpTime = systemUpTime;
            }

            public String getDeviceType() {
                return deviceType;
            }

            public void setDeviceType(String deviceType) {
                this.deviceType = deviceType;
            }

            public String getDeviceName() {
                return deviceName;
            }

            public void setDeviceName(String deviceName) {
                this.deviceName = deviceName;
            }

            public String getDeviceModel() {
                return deviceModel;
            }

            public void setDeviceModel(String deviceModel) {
                this.deviceModel = deviceModel;
            }

            public String getOs() {
                return os;
            }

            public void setOs(String os) {
                this.os = os;
            }

            public String getOsVersion() {
                return osVersion;
            }

            public void setOsVersion(String osVersion) {
                this.osVersion = osVersion;
            }

            public String getIsEmulate() {
                return isEmulate;
            }

            public void setIsEmulate(String isEmulate) {
                this.isEmulate = isEmulate;
            }

            public String getResolution() {
                return resolution;
            }

            public void setResolution(String resolution) {
                this.resolution = resolution;
            }

            public String getScreenW() {
                return screenW;
            }

            public void setScreenW(String screenW) {
                this.screenW = screenW;
            }

            public String getScreenH() {
                return screenH;
            }

            public void setScreenH(String screenH) {
                this.screenH = screenH;
            }

            public String getScreenBrightness() {
                return screenBrightness;
            }

            public void setScreenBrightness(String screenBrightness) {
                this.screenBrightness = screenBrightness;
            }

            public String getIsJailBreak() {
                return isJailBreak;
            }

            public void setIsJailBreak(String isJailBreak) {
                this.isJailBreak = isJailBreak;
            }

            public String getCarrierAllowVoip() {
                return carrierAllowVoip;
            }

            public void setCarrierAllowVoip(String carrierAllowVoip) {
                this.carrierAllowVoip = carrierAllowVoip;
            }

            public String getIsOpenGPS() {
                return isOpenGPS;
            }

            public void setIsOpenGPS(String isOpenGPS) {
                this.isOpenGPS = isOpenGPS;
            }

            public String getGatherDate() {
                return gatherDate;
            }

            public void setGatherDate(String gatherDate) {
                this.gatherDate = gatherDate;
            }
        }

        public static class AppinfoBean {
            /**
             * appName : App 名称
             * appVersion : App 版本
             * appPackageName : App Bundle Id
             */

            private String appName;
            private String appVersion;
            private String appPackageName;
            private String appVersionCode;

            public String getAppVersionCode() {
                return appVersionCode;
            }

            public void setAppVersionCode(String appVersionCode) {
                this.appVersionCode = appVersionCode;
            }

            public String getAppName() {
                return appName;
            }

            public void setAppName(String appName) {
                this.appName = appName;
            }

            public String getAppVersion() {
                return appVersion;
            }

            public void setAppVersion(String appVersion) {
                this.appVersion = appVersion;
            }

            public String getAppPackageName() {
                return appPackageName;
            }

            public void setAppPackageName(String appPackageName) {
                this.appPackageName = appPackageName;
            }
        }

        public static class NetworkInfoBean {
            /**
             * isConnWifi : 是否连接 wifi
             * isConnCell : 是否连接数据网络
             * internetType : 网络类型
             * cellIp : ip地址
             * carrierOperator : 运营商名称
             * carrierMobileCountryCode : 移动国家码
             * carrierMobileNetworkCode : 移动网络码
             */

            private String isConnWifi;
            private String isConnCell;
            private String internetType;
            private String cellIp;
            private String carrierOperator;
            private String carrierMobileCountryCode;
            private String carrierMobileNetworkCode;

            public String getIsConnWifi() {
                return isConnWifi;
            }

            public void setIsConnWifi(String isConnWifi) {
                this.isConnWifi = isConnWifi;
            }

            public String getIsConnCell() {
                return isConnCell;
            }

            public void setIsConnCell(String isConnCell) {
                this.isConnCell = isConnCell;
            }

            public String getInternetType() {
                return internetType;
            }

            public void setInternetType(String internetType) {
                this.internetType = internetType;
            }

            public String getCellIp() {
                return cellIp;
            }

            public void setCellIp(String cellIp) {
                this.cellIp = cellIp;
            }

            public String getCarrierOperator() {
                return carrierOperator;
            }

            public void setCarrierOperator(String carrierOperator) {
                this.carrierOperator = carrierOperator;
            }

            public String getCarrierMobileCountryCode() {
                return carrierMobileCountryCode;
            }

            public void setCarrierMobileCountryCode(String carrierMobileCountryCode) {
                this.carrierMobileCountryCode = carrierMobileCountryCode;
            }

            public String getCarrierMobileNetworkCode() {
                return carrierMobileNetworkCode;
            }

            public void setCarrierMobileNetworkCode(String carrierMobileNetworkCode) {
                this.carrierMobileNetworkCode = carrierMobileNetworkCode;
            }
        }

        public static class PartsInfoBean {
            /**
             * headphonesAttached : 是否插入耳机
             * hasBluetooth : 是否支持蓝牙
             * hasWiFi : 是否有 WIFI 模块
             * hasCellular : 是否支持移动网络
             */

            private String headphonesAttached;
            private String hasBluetooth;
            private String hasWiFi;
            private String hasCellular;

            public String getHeadphonesAttached() {
                return headphonesAttached;
            }

            public void setHeadphonesAttached(String headphonesAttached) {
                this.headphonesAttached = headphonesAttached;
            }

            public String getHasBluetooth() {
                return hasBluetooth;
            }

            public void setHasBluetooth(String hasBluetooth) {
                this.hasBluetooth = hasBluetooth;
            }

            public String getHasWiFi() {
                return hasWiFi;
            }

            public void setHasWiFi(String hasWiFi) {
                this.hasWiFi = hasWiFi;
            }

            public String getHasCellular() {
                return hasCellular;
            }

            public void setHasCellular(String hasCellular) {
                this.hasCellular = hasCellular;
            }
        }

        public static class BatteryInfoBean {
            /**
             * batteryLevel : 电池电量
             * isCharging : 是否正在充电
             * batteryCapacity : 电池容量
             */

            private String batteryLevel;
            private String isCharging;
            private String batteryCapacity;

            public String getBatteryLevel() {
                return batteryLevel;
            }

            public void setBatteryLevel(String batteryLevel) {
                this.batteryLevel = batteryLevel;
            }

            public String getIsCharging() {
                return isCharging;
            }

            public void setIsCharging(String isCharging) {
                this.isCharging = isCharging;
            }

            public String getBatteryCapacity() {
                return batteryCapacity;
            }

            public void setBatteryCapacity(String batteryCapacity) {
                this.batteryCapacity = batteryCapacity;
            }
        }

        public static class ZoneInfoBean {
            /**
             * country : 国家
             * language : 语言
             * timezone : 时区
             */

            private String country;
            private String language;
            private String timezone;

            public String getCountry() {
                return country;
            }

            public void setCountry(String country) {
                this.country = country;
            }

            public String getLanguage() {
                return language;
            }

            public void setLanguage(String language) {
                this.language = language;
            }

            public String getTimezone() {
                return timezone;
            }

            public void setTimezone(String timezone) {
                this.timezone = timezone;
            }
        }

        public static class RoganInfoBean {
            /**
             * gyroSersorInfo : 陀螺仪传感器
             * timestamp : 采样时间戳
             * x : x轴
             * y : y轴
             * z : z轴
             * accelerometerSersorInfo : 加速度传感器
             * magnetometerSersorInfo : 磁场传感器
             * deviceMotionSersorInfo : 设备运动传感器
             */

            private List<SensorBean> gyroSersorInfo;
            private String timestamp;
            private String x;
            private String y;
            private String z;
            private List<SensorBean> accelerometerSersorInfo;
            private List<SensorBean> magnetometerSersorInfo;
            private List<SensorBean> gravitySersorInfo;
            private String deviceMotionSersorInfo;

            public List<SensorBean> getGravitySersorInfo() {
                return gravitySersorInfo;
            }

            public void setGravitySersorInfo(List<SensorBean> gravitySersorInfo) {
                this.gravitySersorInfo = gravitySersorInfo;
            }

            public List<SensorBean> getGyroSersorInfo() {
                return gyroSersorInfo;
            }

            public void setGyroSersorInfo(List<SensorBean> gyroSersorInfo) {
                this.gyroSersorInfo = gyroSersorInfo;
            }

            public String getTimestamp() {
                return timestamp;
            }

            public void setTimestamp(String timestamp) {
                this.timestamp = timestamp;
            }

            public String getX() {
                return x;
            }

            public void setX(String x) {
                this.x = x;
            }

            public String getY() {
                return y;
            }

            public void setY(String y) {
                this.y = y;
            }

            public String getZ() {
                return z;
            }

            public void setZ(String z) {
                this.z = z;
            }

            public List<SensorBean> getAccelerometerSersorInfo() {
                return accelerometerSersorInfo;
            }

            public void setAccelerometerSersorInfo(List<SensorBean> accelerometerSersorInfo) {
                this.accelerometerSersorInfo = accelerometerSersorInfo;
            }

            public List<SensorBean> getMagnetometerSersorInfo() {
                return magnetometerSersorInfo;
            }

            public void setMagnetometerSersorInfo(List<SensorBean> magnetometerSersorInfo) {
                this.magnetometerSersorInfo = magnetometerSersorInfo;
            }

            public String getDeviceMotionSersorInfo() {
                return deviceMotionSersorInfo;
            }

            public void setDeviceMotionSersorInfo(String deviceMotionSersorInfo) {
                this.deviceMotionSersorInfo = deviceMotionSersorInfo;
            }
        }

        public static class AddressBookListBean {
            /**
             * nickname : 朋友
             * telNo : 139xxxx
             */

            private String nickname;
            private String telNo;

            public String getNickname() {
                return nickname;
            }

            public void setNickname(String nickname) {
                this.nickname = nickname;
            }

            public String getTelNo() {
                return telNo;
            }

            public void setTelNo(String telNo) {
                this.telNo = telNo;
            }
        }
    }
}
